<?php

/**
 * ProyectosGreenTareas
 * 
 * @package Sgit 
 * @author Juan Manuel Martinez Carrillo
 * @copyright Juan Manuel Martinez Carrillo
 * @version 2012
 * @access public
 * @revision 17/02/2012 9:06:
 * 
 */


class ToDoController extends Sgit_Controller_Action
{

    protected $_main_model = 'ToDo';
    protected $_main_form = 'ToDo';
        
    public function indexAction()
    {

        $this->setParam('finalizado',0);
        
        $finalizado = new Sgit_Form_Element_Select_SiNo('finalizado');
        $finalizado->setValue($this->_getParam('finalizado'));
        $finalizado->setLabel('Finalizado');
        
        $proyectos = new Sgit_Form_Element_Select_ProyectosDC('id_proyecto');
        
        $dc = new Sgit_Form_Element_Select_Datacenter('id_zona');

        $cliente = new Zend_Form_Element_Select('id_cliente');
        $cliente->setAttrib('style',"max-width:180px");
        $cliente->setLabel('Cliente');
        
              
        $usuarios = new Sgit_Form_Element_Select('usuario_asignado');
        $usuarios->setLabel('Asignado a:');
        $usuarios->setMultiOptions(Sgit_Util_UserByGroup::get(69))->firstBlank();

        $filtros = new Sgit_Form_Filtros();
        
        $filtros->addFormSelect($finalizado);
        $filtros->addFormSelect($dc);
        $filtros->addFormSelect($proyectos);
        $filtros->addFormSelect($cliente);
        $filtros->addFormSelect($usuarios);
        
       
        
        $filtros->addPdf();
        $filtros->addExcel();
        $filtros->myRender();
        
        $values = $this->_getFiltrosValues($filtros);

        $values['tipo']=1;

        $this->view->tipo=$values['tipo'];
        $this->view->rows=$this->_model->default->getTareas($values);

        $this->view->values=$this->getRequest()->getParams();


        $fecha=new Zend_Date();
        $this->_pdfSubTitle = "Fecha ". $fecha->toString();
        $this->_export($this->view->rows);
        
        $xml = $this->_getXml();



    }
    
    public function proyectosAction()
    {
       
        $this->setParam('finalizado',0);
        
        $finalizado = new Sgit_Form_Element_Select_SiNo('finalizado');
        $finalizado->setValue($this->_getParam('finalizado'));
        $finalizado->setLabel('Finalizado');
        
        $proyectos = new Sgit_Form_Element_Select_ProyectosDC('id_proyecto');

        $cliente = new Zend_Form_Element_Select('id_cliente');
        $cliente->setAttrib('style',"max-width:180px");
        $cliente->setLabel('Cliente');
        
        $dc = new Sgit_Form_Element_Select_Datacenter('id_zona');
        
        $usuarios = new Sgit_Form_Element_Select('usuario_asignado');
        $usuarios->setLabel('Asignado a:');
        $usuarios->setMultiOptions(Sgit_Util_UserByGroup::get(40))->firstBlank();

        $filtros = new Sgit_Form_Filtros();
        
        $filtros->addFormSelect($finalizado);
        $filtros->addFormSelect($dc);
        $filtros->addFormSelect($proyectos);
        $filtros->addFormSelect($cliente);
        $filtros->addFormSelect($usuarios);

        $filtros->addPdf();
        $filtros->addExcel();
        $filtros->myRender();
        
        $values = $this->_getFiltrosValues($filtros);
        $values['tipo']=2;
        $this->view->rows=$this->_model->default->getTareas($values);

        $this->view->values=$this->getRequest()->getParams();
        $this->view->tipo=$values['tipo'];

        $fecha=new Zend_Date();
        $this->_pdfSubTitle = "Fecha ". $fecha->toString();
        $this->_export($this->view->rows);
        
        $xml = $this->_getXml();

        $this->render('index');


    }

    public function editarAction()
    {
        $this->_reload();
        $this->_editar();
    }

    public function insertarAction()
    {
        $this->_reload();
        $this->_insertar();
    }

    public function borrarAction()
    {
        $this->_borrar();
    }
    
    public function combosAction()
    {
        
        $idZona= $this->_getParam('idZona');
        $select= $this->_getParam('select');
        
        
        $proyectosdc = new Sgit_Form_Element_Select_ProyectosDC('id_proyecto',null,null,array("id_zona=$idZona",'id_departamento != 5','estado IN(1,2,7)'));
        
        $taconite[0]['funcion']='combo';
        $taconite[0]['select']="$select select[name=id_proyecto]";
        $taconite[0]['value']=$proyectosdc->getMultiOptions();;
        $taconite[0]['selected']=$this->_getParam('selected_pro');;
        
        
        $proyectos = new Sgit_Form_Element_Select_Proyectos('id_cliente');
        $proyect= $proyectos->getMultiOptions();

        $newoptions[""] = "";
        foreach ((array)$proyect['Activos'] as $k => $v)  
            $newoptions[$k] = $v;
           
        $taconite[1]['funcion']='combo';
        $taconite[1]['select']="$select select[name=id_cliente]";
        $taconite[1]['value']=$newoptions;
        $taconite[1]['selected']=$this->_getParam('selected_cli');
        
        
        $this->_helper->json($taconite);
    }
    
    
    
    protected function _prepareValuesToForm($row)
    {
        $row['fecha_ini']=$row['fecha_ini'] ? $row['fecha_ini'] : date('Y-m-d');
        $row['fecha_ini']=Sgit_Filter_DateDbToForm::filter($row['fecha_ini']);
        $row['fecha_fin']=Sgit_Filter_DateDbToForm::filter($row['fecha_fin']);
        
        
        return $row;
    }
    
    protected function _prepareValuesToDb()
    {
        $row = $this->_form->getValues();
        
        if($this->_getParam('tipo'))
            $row['tipo']=$this->_getParam('tipo');
        
        $row['fecha_ini']=Sgit_Filter_DateToDb::filter($row['fecha_ini']);
        $row['fecha_fin']=Sgit_Filter_DateToDb::filter($row['fecha_fin']);

        return $row;
    }

    public function valueAction()
    {
        $value=$this->_getParam('value');
        $id=$this->_getParam('id_tarea');
        
        $data['avance']=$value;
        $data['fecha_end']=($value==100) ? new Zend_Db_Expr('NOW()') : NULL;
        $this->_model->default->updateRow($data,$id);
        
        $taconite=array(); 
        
        $taconite[1]['funcion']='html';
        $taconite[1]['select']='#slider_'.$id;
        $taconite[1]['value']=$value .'%';
        

        $taconite[2]['funcion']='addClass';
        $taconite[2]['select']='#slider_'.$id;
        $taconite[2]['value']='ui-state-highlight';
        
        $this->_helper->json($taconite);
    }
    
    


}
